package com.struts.interceptor;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor;

public class LoginInterceptor extends AbstractInterceptor{
	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		//接收页面请求的参数
		String username = ServletActionContext.getRequest().getParameter("username") ;
		String password = ServletActionContext.getRequest().getParameter("password") ;
		//拦截用户请求，检查用户访问权限
		if("admin".equals(username) && "123".equals(password)) { 
			//验证通过，放行页面发出的请求，执行动作方法处理用户请求
			System.out.println("action方法运行之前验证用户访问权限");
			String result = invocation.invoke() ;
			System.out.println("action方法执行之后的操作");
			return result ;
		} else {
			//验证不通过，不执行页面请求，进行错误提示处理
			ActionContext.getContext().put("error", "没有权限，无法访问") ;
			return "login";	
		}
	}

}
